package io.metersphere.commons.constants;

import java.util.List;

public class OperLogModule {
    public static final String SYSTEM_PARAMETER_SETTING = "SYSTEM_PARAMETER_SETTING";
    public static final String SYSTEM_TEST_RESOURCE = "SYSTEM_TEST_RESOURCE";
    public static final String SYSTEM_USER = "SYSTEM_USER";
    public static final String SYSTEM_WORKSPACE = "SYSTEM_WORKSPACE";
    public static final String WORKSPACE_TEMPLATE_SETTINGS = "WORKSPACE_TEMPLATE_SETTINGS";
    public static final String WORKSPACE_MESSAGE_SETTINGS = "WORKSPACE_MESSAGE_SETTINGS";
    public static final String WORKSPACE_TEMPLATE_SETTINGS_FIELD = "WORKSPACE_TEMPLATE_SETTINGS_FIELD";
    public static final String WORKSPACE_TEMPLATE_SETTINGS_ISSUE = "WORKSPACE_TEMPLATE_SETTINGS_ISSUE";
    public static final String WORKSPACE_SERVICE_INTEGRATION = "WORKSPACE_SERVICE_INTEGRATION";
    public static final String WORKSPACE_TEMPLATE_SETTINGS_CASE = "WORKSPACE_TEMPLATE_SETTINGS_CASE";
    public static final String WORKSPACE_TEMPLATE_SETTINGS_API = "WORKSPACE_TEMPLATE_SETTINGS_API";
    public static final String WORKSPACE_MEMBER = "WORKSPACE_MEMBER";
    public static final String API_AUTOMATION = "API_AUTOMATION";
    public static final String API_AUTOMATION_SCHEDULE = "API_AUTOMATION_SCHEDULE";
    public static final String API_AUTOMATION_REPORT = "API_AUTOMATION_REPORT";
    public static final String API_DEFINITION = "API_DEFINITION";
    public static final String API_DEFINITION_CASE = "API_DEFINITION_CASE";
    public static final String TRACK_TEST_PLAN = "TRACK_TEST_PLAN";
    public static final String TRACK_TEST_PLAN_SCHEDULE = "TRACK_TEST_PLAN_SCHEDULE";
    public static final String TRACK_BUG = "TRACK_BUG";
    public static final String TRACK_TEST_CASE_REVIEW = "TRACK_TEST_CASE_REVIEW";
    public static final String TRACK_TEST_CASE = "TRACK_TEST_CASE";
    public static final String TRACK_REPORT = "TRACK_REPORT";
    public static final String AUTH_TITLE = "AUTH_TITLE";
    public static final String PROJECT_PROJECT_JAR = "PROJECT_PROJECT_JAR";
    public static final String PROJECT_ENVIRONMENT_SETTING = "PROJECT_ENVIRONMENT_SETTING";
    public static final String PROJECT_PROJECT_MANAGER = "PROJECT_PROJECT_MANAGER";
    public static final String PROJECT_FILE_MANAGEMENT = "PROJECT_FILE_MANAGEMENT";
    public static final String PROJECT_TEMPLATE_MANAGEMENT = "PROJECT_TEMPLATE_MANAGEMENT";
    public static final String PROJECT_PROJECT_MEMBER = "PROJECT_PROJECT_MEMBER";
    public static final String PERSONAL_INFORMATION_PERSONAL_SETTINGS = "PERSONAL_INFORMATION_PERSONAL_SETTINGS";
    public static final String PERSONAL_INFORMATION_APIKEYS = "PERSONAL_INFORMATION_APIKEYS";
    public static final String GROUP_PERMISSION = "GROUP_PERMISSION";
    public static final String PERFORMANCE_TEST_REPORT = "PERFORMANCE_TEST_REPORT";
    public static final String PERFORMANCE_TEST = "PERFORMANCE_TEST";
    public static final String ERROR_REPORT_LIBRARY = "ERROR_REPORT_LIBRARY";
    public static final String SYSTEM_QUOTA_MANAGEMENT = "SYSTEM_QUOTA_MANAGEMENT";
    public static final String ENTERPRISE_TEST_REPORT = "ENTERPRISE_TEST_REPORT";
    public static final String SYSTEM_AUTHORIZATION_MANAGEMENT = "SYSTEM_AUTHORIZATION_MANAGEMENT";
    public static final String UI_ELEMENT = "UI_ELEMENT";
    public static final String UI_AUTOMATION = "UI_AUTOMATION";
    public static final String UI_AUTOMATION_REPORT = "UI_AUTOMATION_REPORT";
    public static final String UI_AUTOMATION_SCHEDULE = "UI_AUTOMATION_SCHEDULE";
    public static final String PLUGIN_MANAGE = "PLUGIN_MANAGE";

    public static final List<String> SYSTEM_MODULES = List.of(
            SYSTEM_PARAMETER_SETTING, SYSTEM_TEST_RESOURCE, SYSTEM_QUOTA_MANAGEMENT,
            SYSTEM_USER, SYSTEM_WORKSPACE, PLUGIN_MANAGE,
            SYSTEM_AUTHORIZATION_MANAGEMENT, AUTH_TITLE,
            PERSONAL_INFORMATION_APIKEYS, SYSTEM_AUTHORIZATION_MANAGEMENT
    );

    public static final List<String> WORKSPACE_MODULES = List.of(
            WORKSPACE_SERVICE_INTEGRATION, WORKSPACE_MEMBER, PROJECT_PROJECT_MANAGER
    );

    public static final List<String> PROJECT_MODULES = List.of(
            WORKSPACE_TEMPLATE_SETTINGS, WORKSPACE_MESSAGE_SETTINGS,
            WORKSPACE_TEMPLATE_SETTINGS_FIELD, WORKSPACE_TEMPLATE_SETTINGS_ISSUE,
            WORKSPACE_TEMPLATE_SETTINGS_CASE, WORKSPACE_TEMPLATE_SETTINGS_API,
            API_AUTOMATION, API_AUTOMATION_SCHEDULE,
            API_AUTOMATION_REPORT, API_DEFINITION, API_DEFINITION_CASE,
            TRACK_TEST_PLAN, TRACK_TEST_PLAN_SCHEDULE, TRACK_BUG,
            TRACK_TEST_CASE_REVIEW, TRACK_TEST_CASE,
            TRACK_REPORT, GROUP_PERMISSION,
            PROJECT_PROJECT_JAR, PROJECT_ENVIRONMENT_SETTING,
            PROJECT_FILE_MANAGEMENT, PROJECT_TEMPLATE_MANAGEMENT,
            PROJECT_PROJECT_MEMBER, PERSONAL_INFORMATION_PERSONAL_SETTINGS,
            PERFORMANCE_TEST_REPORT, PERFORMANCE_TEST,
            ERROR_REPORT_LIBRARY, ENTERPRISE_TEST_REPORT,
            UI_AUTOMATION_REPORT, UI_AUTOMATION_SCHEDULE,
            UI_ELEMENT, UI_AUTOMATION
    );

}
